'''
自定义登录判定扩展类视图,
'''

from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import JsonResponse


# 用户中心,判定是否登录,进入视图函数之前,
# 会先进入这里判断如果已登入继续执行视图函数,
# 如果未登录得构建响应
class LoginRequiredJsonMixin(LoginRequiredMixin):

    '''默认LoginRequiredMixin是前端后端不分离的开发模式使用的,
    现在以前后端分离模式开发,需要将返回的响应对象修改成JsonResponse'''

    def handle_no_permission(self):
        # 用户未登录 返回json格式响应
        return JsonResponse({'code': 400, 'errmsg': '用户未登录'})
